home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / lang / reflect / Constructor.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  2.0 KB  |  95 lines

  1. package java.lang.reflect;
  2.  
  3. public final class Constructor implements Member {
  4.    private Class clazz;
  5.    private int slot;
  6.    private Class[] parameterTypes;
  7.    private Class[] exceptionTypes;
  8.  
  9.    private Constructor() {
  10.    }
  11.  
  12.    public Class getDeclaringClass() {
  13.       return this.clazz;
  14.    }
  15.  
  16.    public String getName() {
  17.       return this.getDeclaringClass().getName();
  18.    }
  19.  
  20.    public native int getModifiers();
  21.  
  22.    public Class[] getParameterTypes() {
  23.       return Method.copy(this.parameterTypes);
  24.    }
  25.  
  26.    public Class[] getExceptionTypes() {
  27.       return Method.copy(this.exceptionTypes);
  28.    }
  29.  
  30.    public boolean equals(Object var1) {
  31.       if (var1 != null && var1 instanceof Constructor) {
  32.          Constructor var2 = (Constructor)var1;
  33.          if (this.getDeclaringClass() == var2.getDeclaringClass()) {
  34.             Class[] var3 = this.parameterTypes;
  35.             Class[] var4 = var2.parameterTypes;
  36.             if (var3.length == var4.length) {
  37.                for(int var5 = 0; var5 < var3.length; ++var5) {
  38.                   if (var3[var5] != var4[var5]) {
  39.                      return false;
  40.                   }
  41.                }
  42.  
  43.                return true;
  44.             }
  45.          }
  46.       }
  47.  
  48.       return false;
  49.    }
  50.  
  51.    public int hashCode() {
  52.       return this.getDeclaringClass().getName().hashCode();
  53.    }
  54.  
  55.    public String toString() {
  56.       try {
  57.          StringBuffer var1 = new StringBuffer();
  58.          int var2 = this.getModifiers();
  59.          if (var2 != 0) {
  60.             var1.append(Modifier.toString(var2) + " ");
  61.          }
  62.  
  63.          var1.append(Field.getTypeName(this.getDeclaringClass()));
  64.          var1.append("(");
  65.          Class[] var3 = this.parameterTypes;
  66.  
  67.          for(int var4 = 0; var4 < var3.length; ++var4) {
  68.             var1.append(Field.getTypeName(var3[var4]));
  69.             if (var4 < var3.length - 1) {
  70.                var1.append(",");
  71.             }
  72.          }
  73.  
  74.          var1.append(")");
  75.          Class[] var5 = this.exceptionTypes;
  76.          if (var5.length > 0) {
  77.             var1.append(" throws ");
  78.  
  79.             for(int var6 = 0; var6 < var5.length; ++var6) {
  80.                var1.append(var5[var6].getName());
  81.                if (var6 < var5.length - 1) {
  82.                   var1.append(",");
  83.                }
  84.             }
  85.          }
  86.  
  87.          return var1.toString();
  88.       } catch (Exception var7) {
  89.          return "<" + var7 + ">";
  90.       }
  91.    }
  92.  
  93.    public native Object newInstance(Object[] var1) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException;
  94. }
  95.